<script setup>
name: 'reports'
import { ref, onMounted } from 'vue'
import { getReportsAPI } from '@/api/reportsAPI'
//导入echarts
import * as echarts from 'echarts';
//导入lodash
import _ from 'lodash'
import { ElMessage } from 'element-plus';

const options = {
    title: {
        text: '用户来源'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'cross',
            label: {
                backgroundColor: '#E9EEF3'
            }
        }
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: [
        {
            boundaryGap: false
        }
    ],
    yAxis: [
        {
            type: 'value'
        }
    ]
}
onMounted(async () => {
    //在页面dom元素加载完毕之后执行的钩子函数mounted
    // 基于准备好的dom，初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'))
    //准备数据和配置项
    //发送请求获取折线图数据
    const { data: res } = await getReportsAPI()

    if (res.meta.status !== 200) {
        return ElMessage.error('获取折线图数据失败')
    }

    //合并res.data和this.options
    const result = _.merge(res.data, options)

    // 使用获取的数据展示图表
    myChart.setOption(result)
})
</script>

<template>
    <!-- 面包屑导航 -->
    <el-breadcrumb separator=">">
        <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
        <el-breadcrumb-item>数据统计</el-breadcrumb-item>
        <el-breadcrumb-item>数据报表</el-breadcrumb-item>
    </el-breadcrumb>
    <el-card>
        <div id="main" style="width:750px;height:400px;"></div>
    </el-card>
</template>

<style scoped></style>